package com.start.boot.dao.ajpc;

import com.start.boot.domain.ChartNOGroup;
import com.start.boot.domain.ChartWithGroup;
import com.start.boot.pojo.dto.CountDo;
import com.start.boot.pojo.dto.JbxxDto;
import com.start.boot.pojo.dto.MonthDo;
import com.start.boot.pojo.dto.PcxDto;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 查询mapper
 * Created by caomin on 2017/11/14
 */
@Repository
public interface QueryMapper {
    /**
     * 折线图 根据年份，评查方式。根据年月评查结果分组统计数量
     * @param year
     * @param pcflbm
     * @return
     */
    List<CountDo> query(@Param("year") Integer year, @Param("pcflbm") String pcflbm);

    /**
     * 折线图，统计每个月的评查数量。为了计算每个项占该月的百分比。
     * @param year
     * @param pcflbm
     * @return
     */
    List<MonthDo> querySum(@Param("year") Integer year, @Param("pcflbm") String pcflbm);


    /**
     * 折线图 查询评查结论不为空的所有结论类型
     * @return
     */
    List<String> getPljgType();


    /**
     * 按年份、评查分类编码统计、各个评论结果的数量
     * @param year
     * @param pcflbm
     * @return
     */
    List<CountDo> getYearPcjgCount(@Param("year") Integer year, @Param("pcflbm") String pcflbm);


    /**
     *折线图 统计一年的总是
     * @param year
     * @param pcflbm
     * @return
     */
    Integer getYearCountByYearAndPcflbm(@Param("year") Integer year, @Param("pcflbm") String pcflbm);

    /**
     * 饼 图，查询
     * @param pcxbmList
     * @param pcslbmList
     * @return
     */
    List<PcxDto>getPcyByPcxbm(@Param("pcxbmList") String pcxbmList, @Param("pcslbmList") String pcslbmList);



    List<JbxxDto> getPcslbmListByYearAndMonth(@Param("year") Integer year);

    List<String> getPcslbmListByYear(@Param("year") Integer year);


    /**
     * 案件质量折线图
     * @param year
     * @param pcflbm
     * @return
     */
    List<ChartWithGroup>  getAjzlLinesByYearAndPcflbm(@Param("year") Integer year, @Param("pcflbm") String pcflbm);


    /**
     * 案件质量饼图
     * @param year
     * @param pcflbm
     * @return
     */
    List<ChartNOGroup> getAjzlPieByYearAndPcflbm(@Param("year") Integer year, @Param("pcflbm") String pcflbm);

    void getJbpctotal(Map map);
}
